type 'a list = LNil_ | LCons_ of 'a Lazy.t * 'a list Lazy.t
val length : ('a list Lazy.t -> int) lazy_t
val hd : ('a list lazy_t -> 'a) lazy_t
val tl : ('a list lazy_t -> 'a list) lazy_t
val nth : ('a list Lazy.t -> int Lazy.t -> 'a) lazy_t
val append : ('a list Lazy.t -> 'a list Lazy.t -> 'a list) lazy_t
val rev_append : ('a list Lazy.t -> 'a list Lazy.t -> 'a list) lazy_t
val rev : ('a list Lazy.t -> 'a list) lazy_t
val flatten : ('a list list Lazy.t -> 'a list) lazy_t
val concat : ('a list list Lazy.t -> 'a list) lazy_t
val map : (('a Lazy.t -> 'b) Lazy.t -> 'a list Lazy.t -> 'b list) lazy_t
val rev_map : (('a Lazy.t -> 'b) Lazy.t -> 'a list Lazy.t -> 'b list) lazy_t
val iter : (('a Lazy.t -> 'b) Lazy.t -> 'a list Lazy.t -> unit) lazy_t
val fold_left :
  (('a Lazy.t -> 'b Lazy.t -> 'a) Lazy.t -> 'a Lazy.t -> 'b list Lazy.t -> 'a)
  lazy_t
val fold_right :
  (('a Lazy.t -> 'b lazy_t -> 'b) Lazy.t -> 'a list Lazy.t -> 'b Lazy.t -> 'b)
  lazy_t
val map2 :
  (('a Lazy.t -> 'b Lazy.t -> 'c) Lazy.t ->
   'a list Lazy.t -> 'b list Lazy.t -> 'c list)
  lazy_t
val rev_map2 :
  (('a Lazy.t -> 'b Lazy.t -> 'c) Lazy.t ->
   'a list Lazy.t -> 'b list Lazy.t -> 'c list)
  lazy_t
val iter2 :
  (('a Lazy.t -> 'b Lazy.t -> 'c) Lazy.t ->
   'a list Lazy.t -> 'b list Lazy.t -> unit)
  lazy_t
val fold_left2 :
  (('a Lazy.t -> 'b Lazy.t -> 'c Lazy.t -> 'a) Lazy.t ->
   'a Lazy.t -> 'b list Lazy.t -> 'c list Lazy.t -> 'a)
  lazy_t
val fold_right2 :
  (('a Lazy.t -> 'b Lazy.t -> 'c lazy_t -> 'c) Lazy.t ->
   'a list Lazy.t -> 'b list Lazy.t -> 'c Lazy.t -> 'c)
  lazy_t
val for_all : (('a Lazy.t -> bool) Lazy.t -> 'a list Lazy.t -> bool) lazy_t
val exists : (('a Lazy.t -> bool) Lazy.t -> 'a list Lazy.t -> bool) lazy_t
val for_all2 :
  (('a Lazy.t -> 'b Lazy.t -> bool) Lazy.t ->
   'a list Lazy.t -> 'b list Lazy.t -> bool)
  lazy_t
val exists2 :
  (('a Lazy.t -> 'b Lazy.t -> bool) Lazy.t ->
   'a list Lazy.t -> 'b list Lazy.t -> bool)
  lazy_t
val mem : ('a Lazy.t -> 'a list Lazy.t -> bool) lazy_t
val memq : ('a Lazy.t -> 'a list Lazy.t -> bool) lazy_t
val assoc : ('a Lazy.t -> ('a Lazy.t * 'b Lazy.t) list Lazy.t -> 'b) lazy_t
val assq : ('a Lazy.t -> ('a Lazy.t * 'b Lazy.t) list Lazy.t -> 'b) lazy_t
val mem_assoc : ('a Lazy.t -> ('a Lazy.t * 'b) list Lazy.t -> bool) lazy_t
val mem_assq : ('a Lazy.t -> ('a Lazy.t * 'b) list Lazy.t -> bool) lazy_t
val remove_assoc :
  ('a Lazy.t -> ('a Lazy.t * 'b) list Lazy.t -> ('a Lazy.t * 'b) list) lazy_t
val remove_assq :
  ('a Lazy.t -> ('a Lazy.t * 'b) list Lazy.t -> ('a Lazy.t * 'b) list) lazy_t
val find : (('a Lazy.t -> bool) Lazy.t -> 'a list Lazy.t -> 'a) lazy_t
val find_all :
  (('a Lazy.t -> bool) Lazy.t -> 'a list Lazy.t -> 'a list) lazy_t
val filter : (('a Lazy.t -> bool) Lazy.t -> 'a list Lazy.t -> 'a list) lazy_t
val partition :
  (('a Lazy.t -> bool) Lazy.t ->
   'a list Lazy.t -> 'a list lazy_t * 'a list lazy_t)
  lazy_t
val split :
  (('a Lazy.t * 'b Lazy.t) list Lazy.t -> 'a list Lazy.t * 'b list Lazy.t)
  lazy_t
val combine :
  ('a list Lazy.t -> 'b list Lazy.t -> ('a Lazy.t * 'b Lazy.t) list) lazy_t
val merge :
  (('a Lazy.t -> 'a Lazy.t -> int) Lazy.t ->
   'a list Lazy.t -> 'a list Lazy.t -> 'a list)
  lazy_t
val stable_sort :
  (('a lazy_t -> 'a lazy_t -> int) Lazy.t -> 'a list Lazy.t -> 'a list)
  lazy_t
val sort :
  (('a lazy_t -> 'a lazy_t -> int) Lazy.t -> 'a list Lazy.t -> 'a list)
  lazy_t
val fast_sort :
  (('a lazy_t -> 'a lazy_t -> int) Lazy.t -> 'a list Lazy.t -> 'a list)
  lazy_t
